<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>Malloc</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Malloc"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Malloc rootpage-Malloc skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">malloc</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr">
<p>En <a href="Informatique" title="Informatique">informatique</a>, la <a href="Fonction_(informatique)" class="mw-redirect" title="Fonction (informatique)">fonction</a> <code><b>malloc</b></code><sup id="cite_ref-:0_1-0" class="reference"><a href="#cite_note-:0-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> (pour <b>m</b>emory <b>alloc</b>ation en anglais) est une fonction de la <a href="Biblioth%C3%A8que_standard_du_C" title="Bibliothèque standard du C">bibliothèque standard du langage C</a>, qui permet d'<a href="Allocation_de_m%C3%A9moire" title="Allocation de mémoire">allouer</a> dynamiquement de la <a href="M%C3%A9moire_(informatique)" title="Mémoire (informatique)">mémoire</a>. La libération de la mémoire ainsi réservée s'effectue avec la fonction <code>free</code><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>.
</p><p>Cette fonction est déclarée dans l'en-tête <a href="Stdlib.h" class="mw-redirect" title="Stdlib.h"><code><stdlib.h></code></a><sup id="cite_ref-:0_1-1" class="reference"><a href="#cite_note-:0-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>. Dans les systèmes <a href="GNU/Linux" class="mw-redirect" title="GNU/Linux">GNU/Linux</a>, elle fait partie du paquet <a href="GNU_C_Library" title="GNU C Library">GNU C Library</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Utilisation">Utilisation</h2></div>
<p>La fonction <code>malloc</code> permet de réserver une zone de la mémoire<sup id="cite_ref-:1_3-0" class="reference"><a href="#cite_note-:1-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>. Son prototype est le suivant :
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">void</span><span class="w"> </span><span class="o">*</span><span class="nf">malloc</span><span class="p">(</span><span class="kt">size_t</span><span class="w"> </span><span class="n">nbOctets</span><span class="p">);</span>
</pre></div>
<p>Le seul paramètre à passer à <code>malloc</code> est le nombre d'octets à allouer. La valeur renvoyée est l'adresse du premier octet de la zone mémoire allouée. Si l'allocation n'a pu se réaliser (par manque de mémoire libre), la valeur de retour est la <a href="Constante" title="Constante">constante</a> <a href="NULL" class="mw-redirect" title="NULL">NULL</a><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>.
</p><p>La libération de la mémoire précédemment allouée via <code>malloc</code> est assurée par la fonction <code>free</code> dont la déclaration est la suivante<sup id="cite_ref-:1_3-1" class="reference"><a href="#cite_note-:1-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> :
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">void</span><span class="w"> </span><span class="nf">free</span><span class="p">(</span><span class="kt">void</span><span class="w"> </span><span class="o">*</span><span class="n">ptr</span><span class="p">);</span>
</pre></div>
<p>Le seul paramètre à passer est l'adresse du premier octet de la zone allouée et aucune valeur n'est retournée une fois cette opération réalisée.
</p><p>Voici du code réservant 20 octets et le libérant immédiatement après si l'allocation a été effectuée.
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf"><stdlib.h></span>
<span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">pointeur</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">malloc</span><span class="p">(</span><span class="mi">20</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">sizeof</span><span class="p">(</span><span class="kt">char</span><span class="p">));</span><span class="w"> </span><span class="c1">//Allocation de 20 octets (Un char est égal à 1 octet)</span>
<span class="k">if</span><span class="p">(</span><span class="n">pointeur</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="nb">NULL</span><span class="p">)</span>
<span class="p">{</span>
<span class="w"> </span><span class="n">printf</span><span class="p">(</span><span class="s">"L'allocation n'a pu être réalisée</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">else</span>
<span class="p">{</span>
<span class="w"> </span><span class="n">printf</span><span class="p">(</span><span class="s">"L'allocation a été un succès</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span>
<span class="w"> </span><span class="n">free</span><span class="p">(</span><span class="n">pointeur</span><span class="p">);</span><span class="w"> </span><span class="c1">//Libération des 20 octets précédemment alloués</span>
<span class="w"> </span><span class="n">pointeur</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"> </span><span class="c1">// Invalidation du pointeur</span>
<span class="p">}</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Motivation">Motivation</h2></div>
<p>Il existe trois types d'allocation de mémoire pour une variable dans un programme C : l'allocation statique, automatique, et dynamique. La fonction <code>malloc</code> concerne l'allocation dynamique.
</p><p>L'<a href="Allocation_de_m%C3%A9moire#Allocation_statique" title="Allocation de mémoire">allocation statique</a> a lieu au cours de la <a href="Compilateur" title="Compilateur">compilation</a> par la déclaration de variables statiques. Ces variables là persistent durant toute l'exécution du programme. Cela concerne les variables globales et les <a href="Variable_locale" title="Variable locale">variables locales</a> déclarées en utilisant le mot-clé <code>static</code>. L'allocation statique oblige le développeur à connaître à l'avance la quantité de mémoire qui sera utilisée par le programme. C'est ainsi qu'un « gaspillage » de la mémoire peut survenir si l'on réserve trop de mémoire par rapport à ce dont le programme a véritablement besoin pour réaliser la tâche qui lui incombe.
</p><p>L'<a href="Allocation_de_m%C3%A9moire#Allocation_sur_la_pile_(automatique)" title="Allocation de mémoire">allocation automatique</a> a lieu pendant l'exécution du programme sur la <a href="Pile_d'ex%C3%A9cution" title="Pile d'exécution">pile d'exécution</a>. Il s'agit des variables locales déclarées dans un bloc d'instructions. La libération de la mémoire n'est réalisée qu'à la fin du bloc d'instructions dans lequel est déclarée la variable. Cela peut également être un facteur de gaspillage lorsque de la mémoire est allouée, mais n'est plus utilisée.
</p><p>C'est ici que l'<a href="Allocation_de_m%C3%A9moire#Allocation_dynamique" title="Allocation de mémoire">allocation dynamique</a> de mémoire entre en jeu. La réservation de la mémoire se fait au cours de l'exécution du programme, mais la libération de cette mémoire n'est plus gérée par le <a href="Compilateur" title="Compilateur">compilateur</a>, mais par le programmeur. L'allocation dynamique a lieu <i>à la demande</i> sur le <a href="Tas_(allocation_dynamique)" title="Tas (allocation dynamique)">tas</a>. Pour cela, on utilise des fonctions d'allocation de la mémoire comme <code>malloc</code>. Cela augmente la complexité du programme, mais la gestion de la mémoire est plus fine. Si un programme alloue de la mémoire par <code>malloc</code> sans la libérer ensuite par <code>free</code>, on parle de <a href="Fuite_de_m%C3%A9moire" title="Fuite de mémoire">fuite de mémoire</a>. Pour éviter ce type de bug et faciliter l'écriture des programmes, certains langages disposent d'un mécanisme de <a href="Ramasse-miettes_(informatique)" title="Ramasse-miettes (informatique)">ramasse-miettes</a>, mais ce n'est pas le cas du langage C.
</p>
<div class="mw-heading mw-heading2"><h2 id="Fonctions_analogues">Fonctions analogues</h2></div>
<div class="mw-heading mw-heading3"><h3 id="calloc">calloc</h3></div>
<p>La zone mémoire allouée par <code>malloc</code> n'est pas initialisée automatiquement. Cette initialisation peut être réalisée à l'aide de la fonction <code>memset</code><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> ou bien par le parcours de toute la zone mémoire. Avec la fonction <code>calloc</code>, cette phase d'initialisation n'est plus nécessaire, car la zone mémoire allouée est initialisée avec des 0<sup id="cite_ref-:1_3-2" class="reference"><a href="#cite_note-:1-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>.
</p><p>La déclaration de <code>calloc</code><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> est la suivante :
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">void</span><span class="w"> </span><span class="o">*</span><span class="nf">calloc</span><span class="p">(</span><span class="kt">size_t</span><span class="w"> </span><span class="n">nmemb</span><span class="p">,</span><span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">size</span><span class="p">);</span>
</pre></div>
<p>Le paramètre <code><i>nmemb</i></code> est le nombre d'éléments que l'on désire réserver et <code><i>size</i></code> correspond à la taille en octets d'un élément. La valeur retournée est la même que pour <code>malloc</code>.
</p>
<div class="mw-heading mw-heading3"><h3 id="realloc">realloc</h3></div>
<p>La fonction <code>realloc</code> permet de modifier la taille de la mémoire allouée préalablement avec <code>malloc</code><sup id="cite_ref-:1_3-3" class="reference"><a href="#cite_note-:1-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>. S'il est nécessaire de déplacer la zone mémoire, car il n'y a pas assez de mémoire contiguë, la libération de l'ancienne zone mémoire est réalisée par <code>realloc</code> via <code>free</code>.
</p><p>La déclaration de <code>realloc</code><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> est la suivante :
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">void</span><span class="w"> </span><span class="o">*</span><span class="nf">realloc</span><span class="p">(</span><span class="kt">void</span><span class="w"> </span><span class="o">*</span><span class="n">ptr</span><span class="p">,</span><span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">size</span><span class="p">);</span>
</pre></div>
<p>Le paramètre <code><i>ptr</i></code> désigne le début de la zone mémoire dont on désire modifier la taille. Le second paramètre, <code><i>size</i></code>, est la nouvelle taille en octet de la zone mémoire.
</p><p>Si la fonction réussit, la valeur retournée est le début de la zone mémoire allouée. Attention : la valeur du pointeur <code><i>ptr</i></code> n'est plus valide car la nouvelle zone peut débuter à un autre endroit de la mémoire si un déplacement a été nécessaire.
</p><p>
Si la fonction échoue, elle retourne la valeur <code>NULL</code>. Des précautions doivent être prises pour éviter une <a href="Fuite_de_m%C3%A9moire" title="Fuite de mémoire">fuite de mémoire</a>. Il convient de veiller à ce que l'adresse de l'ancien bloc ne soit pas écrasée avant de s'assurer que la réallocation a bien réussi. Dans le code suivant, le test sur la valeur de <code>tampon</code> n'est pas suffisant. Si <code>realloc</code> échoue, l'adresse de la zone mémoire est perdue :</p><div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="n">tampon</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">realloc</span><span class="p">(</span><span class="n">tampon</span><span class="p">,</span><span class="w"> </span><span class="n">nouvelle_taille</span><span class="p">);</span>
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">tampon</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="nb">NULL</span><span class="p">)</span>
<span class="w"> </span><span class="n">rapporterErreur</span><span class="p">();</span>
</pre></div>
<p>Pour remédier à ce problème, on introduit une nouvelle variable <code>tmp</code>qui stocke le résultat de <code>realloc</code> sans écraser la valeur de <code>tampon</code> :
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="n">tmp</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">realloc</span><span class="p">(</span><span class="n">tampon</span><span class="p">,</span><span class="w"> </span><span class="n">nouvelle_taille</span><span class="p">);</span>
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">tmp</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="nb">NULL</span><span class="p">)</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">free</span><span class="p">(</span><span class="n">tampon</span><span class="p">);</span>
<span class="w"> </span><span class="n">rapporterErreur</span><span class="p">();</span>
<span class="w"> </span><span class="p">}</span>
<span class="k">else</span>
<span class="w"> </span><span class="n">tampon</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tmp</span><span class="p">;</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Débogage"><span id="D.C3.A9bogage"></span>Débogage</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Débogage_sous_Windows"><span id="D.C3.A9bogage_sous_Windows"></span>Débogage sous Windows</h3></div>
<p>Des utilitaires graphiques permettent de vérifier que la mémoire utilisée est bien libérée lorsqu'elle n'est plus utilisée, comme c'est le cas avec <span class="lang-en" lang="en"><i>MFC Debugging support</i></span> qui est dédié à l'<a href="Interface_de_programmation" title="Interface de programmation">API</a> <a href="Microsoft_foundation_class" class="mw-redirect" title="Microsoft foundation class">MFC</a> de <a href="Microsoft" title="Microsoft">Microsoft</a><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Débogage_sous_GNU/Linux"><span id="D.C3.A9bogage_sous_GNU.2FLinux"></span>Débogage sous GNU/Linux</h3></div>
<ul><li>La GNU C Library fournit un couple de programme en Perl et fonction C nommés <code>mtrace</code><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>, la fonction C génére des traces relatives aux allocations mémoire dans un programme et le programme permet de les analyser et afficher de maniére lisible pour un humain;</li>
<li><a href="TotalView" title="TotalView">TotalView</a>, <a href="Valgrind" title="Valgrind">Valgrind</a> et <a href="Mpatrol" title="Mpatrol">mpatrol</a> : débogueurs permettant de détecter les <a href="Fuite_de_m%C3%A9moire" title="Fuite de mémoire">fuites de mémoire</a> et les écritures hors de la zone allouée par <i>malloc</i> ;</li>
<li>La <a href="Biblioth%C3%A8que_logicielle" title="Bibliothèque logicielle">bibliothèque logicielle</a> <a href="DUMA" title="DUMA">DUMA</a> aide à détecter indirectement les <i>malloc</i> ayant une taille trop petite ou trop grande ;</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2></div>
<div class="references-small decimal" style=""><div class="mw-references-wrap"><ol class="references">
<li id="cite_note-:0-1"><span class="reference-text"><span class="ouvrage" id="2017"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://www.man7.org/linux/man-pages/man3/malloc.3p.html"><cite style="font-style:normal;" lang="en">malloc(3p)</cite></a> » <span class="skin-invert-image" typeof="mw:File"><span title="Accès libre au document"></span></span>, sur <span class="italique">man7.org</span>, <time>2017</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-04-19" data-sort-value="2025-04-19">19 avril 2025</time>)</small></span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2017"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://www.man7.org/linux/man-pages/man3/free.3p.html"><cite style="font-style:normal;" lang="en">free(3p)</cite></a> » <span class="skin-invert-image" typeof="mw:File"><span title="Accès libre au document"></span></span>, sur <span class="italique">man7.org</span>, <time>2017</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-04-19" data-sort-value="2025-04-19">19 avril 2025</time>)</small></span></span>
</li>
<li id="cite_note-:1-3"><span class="reference-text"><span class="ouvrage" id="2024">« <a rel="nofollow" class="external text" href="https://zestedesavoir.com/tutoriels/755/le-langage-c-1/1043_aggregats-memoire-et-fichiers/4285_lallocation-dynamique/#2-12857_malloc-et-consoeurs"><cite style="font-style:normal;">L'allocation dynamique : Malloc et consoeurs</cite></a> », sur <span class="italique"><a rel="nofollow" class="external free" href="https://zestedesavoir.com">https://zestedesavoir.com</a></span>, 25 août 2024 à 20h42 <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-08-07" data-sort-value="2025-08-07">7 aout 2025</time>)</small></span></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Gellis"><span class="ouvrage" id="Steven_Gellis">Steven Gellis, <cite class="italique">Maitriser les pointeurs en C : Découvrez les principes de base et les méthodes avancées des pointeurs en C</cite>, France, Amazon, 168 <abbr class="abbr" title="pages">p.</abbr> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9798884353541</span>)</small>, <abbr class="abbr" title="page">p.</abbr> 30<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Maitriser+les+pointeurs+en+C&rft.place=France&rft.pub=Amazon&rft.stitle=D%C3%A9couvrez+les+principes+de+base+et+les+m%C3%A9thodes+avanc%C3%A9es+des+pointeurs+en+C&rft.aulast=Gellis&rft.aufirst=Steven&rft.pages=30&rft.tpages=168&rft.isbn=9798884353541&rfr_id=info%3Asid%2Ffr.wikipedia.org%3AMalloc"></span></span></span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2017"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://man7.org/linux/man-pages/man3/memset.3p.html"><cite style="font-style:normal;" lang="en">memset(3p)</cite></a> » <span class="skin-invert-image" typeof="mw:File"><span title="Accès libre au document"></span></span>, sur <span class="italique">man7.org</span>, <time>2017</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-04-19" data-sort-value="2025-04-19">19 avril 2025</time>)</small></span></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2017"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://man7.org/linux/man-pages/man3/calloc.3p.html"><cite style="font-style:normal;" lang="en">calloc(3p)</cite></a> » <span class="skin-invert-image" typeof="mw:File"><span title="Accès libre au document"></span></span>, sur <span class="italique">man7.org</span>, <time>2017</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-04-19" data-sort-value="2025-04-19">19 avril 2025</time>)</small></span></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><a href="#cite_ref-7">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2017"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://man7.org/linux/man-pages/man3/realloc.3p.html"><cite style="font-style:normal;" lang="en">realloc(3p)</cite></a> » <span class="skin-invert-image" typeof="mw:File"><span title="Accès libre au document"></span></span>, sur <span class="italique">man7.org</span>, <time>2017</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-04-19" data-sort-value="2025-04-19">19 avril 2025</time>)</small></span></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <span class="ouvrage" id="MFC_Debugging_Support">« <a rel="nofollow" class="external text" href="https://msdn2.microsoft.com/en-us/library/aa270874(VS.60).aspx"><cite style="font-style:normal;"><span class="lang-en" lang="en"><i>MFC Debugging Support</i></span></cite></a> », <a href="Microsoft" title="Microsoft">Microsoft</a> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2007-09-22" data-sort-value="2007-09-22">22 septembre 2007</time>)</small></span></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2024"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://www.man7.org/linux/man-pages/man1/mtrace.1.html"><cite style="font-style:normal;" lang="en">mtrace(1)</cite></a> » <span class="skin-invert-image" typeof="mw:File"><span title="Accès libre au document"></span></span>, sur <span class="italique">man7.org</span>, <time class="nowrap" datetime="2024-11-25" data-sort-value="2024-11-25">25 novembre 2024</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-04-19" data-sort-value="2025-04-19">19 avril 2025</time>)</small></span></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2024"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://man7.org/linux/man-pages/man3/mtrace.3.html"><cite style="font-style:normal;" lang="en">mtrace(3)</cite></a> » <span class="skin-invert-image" typeof="mw:File"><span title="Accès libre au document"></span></span>, sur <span class="italique">man7.org</span>, <time class="nowrap" datetime="2024-07-23" data-sort-value="2024-07-23">23 juillet 2024</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-04-19" data-sort-value="2025-04-19">19 avril 2025</time>)</small></span></span>
</li>
</ol></div>
</div>
<div class="navbox-container" style="clear:both;">
</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de la programmation informatique</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-10-21" href="https://fr.wikipedia.org/wiki/?title=Malloc&oldid=229928498">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>